
출처: (https://data-flair.training/blogs/proxy-server-and-its-working/)
1. 프록시 개념 정의
프록시(Proxy) 프로그램은 용도에 따라 다양하게 분류할 수 있습니다. 크게 포워드 프록시(Forward Proxy), 리버스 프록시(Reverse Proxy), 캐싱 프록시(Caching Proxy), SOCKS 프록시 등으로 나눌 수 있으며, 각 유형에 따라 널리 사용되는 대표적인 프로그램들이 있습니다.
2. 포워드 프록시 (Forward Proxy)
클라이언트가 인터넷으로 나갈 때 중계해주는 프록시입니다.
■ 대표 프로그램
프로그램 | 특징 |
|---|---|
Squid | 가장 전통적이고 강력한 HTTP/HTTPS/FTP 프록시. 캐싱 기능도 지원 |
Privoxy | 프라이버시 보호, 광고 차단 등 기능 제공. Squid와 병행 사용 가능 |
Polipo | 가벼운 HTTP 프록시. 현재 개발 중단되었으나 작은 시스템에서 여전히 사용 가능 |
Dante | SOCKS 프록시 서버. SOCKS5 지원 |
3. 리버스 프록시 (Reverse Proxy)
외부에서 서버에 접속할 때, 프록시가 앞단에서 요청을 받아 내부 서버로 전달하는 역할을 합니다.
■ 대표 프로그램
프로그램 | 특징 |
|---|---|
Nginx | 가장 많이 쓰이는 리버스 프록시. 로드 밸런싱, HTTPS 종단(Termination) 지원 |
Apache HTTP Server |
|
Caddy | 자동 Let’s Encrypt SSL 발급과 간단한 설정이 특징 |
HAProxy | 고성능 TCP/HTTP 로드밸런서이자 리버스 프록시 역할 수행 |
4. 캐싱 프록시 (Caching Proxy)
프록시 서버에서 콘텐츠를 캐싱(저장)해서 반복된 요청 시 빠르게 전달하여 속도를 향상시킵니다.
■ 대표 프로그램
프로그램 | 특징 |
|---|---|
Squid | HTTP/HTTPS 캐싱 지원. 대형 캐시 서버 구축 가능 |
Varnish | 고성능 웹 캐싱 프록시. 웹 페이지 캐싱에 최적화됨 |
5. SOCKS 프록시
TCP 연결을 프록시 해주는 방식으로, HTTP 외의 다양한 프로토콜도 지원합니다.
■ 대표 프로그램
프로그램 | 특징 |
|---|---|
Dante | SOCKS5 지원. 서버 설정 세부 조정 가능 |
shadowsocks | 암호화된 SOCKS5 프록시. 검열 우회용으로 많이 사용됨 |
ssh -D | SSH 자체 기능을 이용해 로컬 SOCKS5 프록시 생성 가능 |
6. 설치 예시 (Ubuntu 24.04)
■ Nginx 설치
sudo apt update
sudo apt install nginx
■ Squid 설치
sudo apt update
sudo apt install squid
■ Dante 설치
sudo apt update
sudo apt install dante-server
7. 프로그램 사용 환경 추천
용도 | 추천 프록시 |
|---|---|
인터넷 검열 우회, 프라이버시 보호 | SOCKS 프록시 (Dante, Shadowsocks) |
웹 서버 앞단에서 SSL 종단 및 로드밸런싱 | Nginx, HAProxy |
다수 사용자 인터넷 캐싱 및 속도 향상 | Squid, Varnish |
프라이버시 필터링 및 광고 차단 | Privoxy |
